The present invention relates to computer-based devices and methods supporting document exchange choreographies. More particularly, aspects of the present invention relate to devices and methods that facilitate evolution of systems by various combinations of choreography versioning, service versioning and document versioning. It provides for choreography management using a choreography agent and presents choreography-enabled interfaces to non choreography enabled applications. Additional aspects of the present invention include a graphical design tool and transparent aliasing of a host service as multiple context setting franchised services. Particular aspects of the present invention are described in the claims, specification and drawings.
Business-to-business (B2B) and application-to-application (A2A) electronic commerce are replacing former protocols for electronic data interchange (EDI). As businesses strive to improve their efficiency with B2B and A2A systems, a number of incompatible platforms and competing standards have emerged. Among compatible standards, gaps remain to be filled. For instance, the industry has defined what a simple web service is. Standards related to simple Web service include UDDI, WSDL, XSDL and SOAP. However, these standards do not fully meet the security, reliability, manageability, and choreography requirements for practical B2B and A2A electronic commerce. In this context, choreography of message exchanges among services includes setting a pattern for the choreographed exchange and tracking messages that are part of the exchange with an identifier, such as a conversation ID. Choreography in particular presents competing platforms with numerous options and configuration issues. Collaborative web services and their choreographies are expected to evolve as non-web businesses do. There is no any comprehensive or unified device or method that dynamically resolves issues arising from evolution.
One way of implementing B2B and A2A electronic commerce is use of web services. Web services are a fundamentally new way of exposing functionality in a modular way over the web. At the present stage of web service evolution, much attention is focused on document exchange and RPC web services. An RPC web service supports an RPC programming paradigm where the invoker invokes a web service by invoking something that looks like a procedure call with in/out parameters.
Current implementations of web services typically conform to three standards. UDDI is a registry standard for discovering web services based on search criteria and downloading its interface. WSDL is a interface standard that defines the messaging interface of a web service. SOAP is a envelope protocol standard with defined bindings to HTTP(S) transports that are used to carry the payloads over the wire. Web services typically rely on the XML standards like XSDL, Xlink, Xbase, and Xpointer and general web standards like HTTP(S) and URI.
Most of the web services today are simple web services. Simple web services use synchronous unreliable HTTP(S) transports and have no support for security except for transport level security, or agreed to security information in the payload understood privately by the communicating parties. Simple web services contain operations. Invoking a web service means invoking an operation of the web service. An operation might be designed to accept a one-way message or to support a request/response paradigm where the invoker blocks for the response and the invoked service immediately responds. Simple web services may use the RPC programming paradigm or a document based programming paradigm.
An emerging challenge in standard-compliant web services is to define high performance web services to improve the business performance of the enterprise. Such web services will support invocation with reliability (exactly once), asynchronous transports like SMTP, JMS, privacy (encryption), integrity (signing), authentication and authorization, and routing.
Another emerging challenge will be to define collaborative web services. These web services might hold long duration interactions with other web services and might invoke non collaborative web services without a choreographed, conversational context. Such collaborative web services will require support for correlating related messages in a conversation and support for a return address.
There are a number of industry initiatives to extend standards applicable to B2B and A2A electronic commerce. Choreography efforts include ebXML/BPSS from OASIS, WSFL from IBM, and XLANG from Microsoft. Conversation efforts include ebXML/TRP from OASIS and Microsoft's WS-routing. Additional efforts include BPEL4WS (Business Process Execution Language for Web Services), from IBM, Microsoft and BEA Systems, and Web Service Choreography Interface, from Sun Microsystems, WSCL (Web Services Conversation Language), and BPML (Business Process Modeling Language). So many choreography efforts are under way that some industry leaders in September 2002 asked the W3C standards body's Web Services Architecture Working Group to set a standard that will resolve incompatibilities. For reliability, there are proposals from Microsoft, ebXML/TRP from OASIS, and HTTPR from IBM. W3C is addressing standardization in all of these areas. Key industry players have formed a rival consortium called WSI. However, they have not addressed the service evolution and choreography issues.
Accordingly, an opportunity arises to develop methods and devices that support evolving document exchange choreographies.